home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991 …esperately Seeking Seven / Desperately Seeking Seven.2mg / Dev.CD.8 / Essentials / Tools / Technical.Notes / GSOS / TN.GSOS.013 < prev   
Encoding:
Text File  |  1991-05-28  |  4.1 KB  |  102 lines  |  [04] ASCII Text (0x0000)

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5.  
  6.  
  7. GS/OS
  8. #13:         GS/OS Reference Update
  9.  
  10. Revised by:  Matt Deatherage                                       March 1991
  11. Written by:  Matt Deatherage                                    November 1990
  12.  
  13. This Technical Note corrects and updates the Addison-Wesley Apple IIgs GS/OS 
  14. Reference.  Previous versions from APDA labeled Volume 1 or 2 are 
  15. obsolete,and should no longer be used.
  16.  
  17. Changes since January 1991:  Added a correction to the character device 
  18. status word diagram.
  19. _____________________________________________________________________________
  20.  
  21.  
  22. Chapter 4, "Accessing GS/OS Files"
  23.  
  24. Page 72:  The System File Level:  How to Protect an Open File From the
  25. Application
  26.  
  27. The class 1 SetLevel and GetLevel calls have a special option that allows you
  28. to open a file at an "internal" file level, so that it cannot be closed by an
  29. application making a Close call with reference number zero at any application
  30. level.
  31.  
  32. GetLevel and SetLevel actually accept two parameters, not just the one
  33. parameter (level) documented in Chapter 7.  The second parameter, level_mode,
  34. is a Word that controls the internal range of the file level.
  35.  
  36. The steps to open a file at an internal file level are:
  37.  
  38. 1.  Call GetLevel with pCount=2, level_mode=$0000.  Save the returned level.
  39. 2.  Call SetLevel with pCount=2, level = $0080 and level_mode = $0000.
  40. 3.  Open a file or files with a class 0 or 1 Open call, or with
  41.     OpenResourceFile (OpenResourceFile on System Software 5.0.4 and earlier
  42.     does not try to protect your resource files from being accidentally 
  43.     closed by a Close(0)).
  44. 4.  Call SetLevel with pCount=2, level_mode=$0000, and level = saved level.
  45.  
  46. To close your protected file, simply do a Close with the reference number.
  47. There is no need to fiddle with the file level when closing by reference
  48. number.
  49.  
  50. NDAs should close all their files at or before DeskShutDown time.
  51.  
  52. Chapter 7, "GS/OS Call Reference"
  53.  
  54. Pages 98-99:  ChangePath
  55.  
  56. On page 98, the ReferenceJstates that a subdirectory may not be moved into
  57. itself or into a directory the first subdirectory already contains.  For
  58. example, you may not change /v to /v/w or /v/w to /v/w/x.  Although this is
  59. correct, the System Software 5.0.x implementations of the ProDOS FST trash 
  60. your disk if you try this with ChangePath.  Do not try it on disks you want 
  61. tokeep.
  62.  
  63. On page 99, error $4E is described as "file not destroy-enabled."  No, 
  64. ChangePath doesn't destroy the file.  The error should read "file not 
  65. rename-enabled."
  66.  
  67. Page 129:  The Character Device Status Word
  68.  
  69. The diagram on the top of page 129 says that if bit 5 is set, the device isin 
  70. no-wait mode.  This is incorrect.  To determine if a device is in 
  71. no-waitmode, make the GetWaitStatus subcall described on page 130.
  72.  
  73. Bit 5 of the character device status word is set if there are one or more 
  74. characters waiting to be read from the device.  This is an assistance for 
  75. developers, since generated character drivers don't support no-wait mode.
  76.  
  77. Page 142:  Flush
  78.  
  79. The Flush call, under System Software 5.0.3 and later (GS/OS version 3.3) 
  80. accepts a maximum of two parameters.  If the second parameter is present, 
  81. itis the flushType.  The flushType Word specifies the type of flush to 
  82. beperformed. A flushType of $0000 is the standard flush, where all dirty 
  83. blocks arewritten to disk.  If flushType is $8000, however, only dirty data 
  84. blocks are writtento disk.  Dirty system blocks (directories, bitmaps, etc.) 
  85. are not flushed inthis fast flush.
  86.  
  87.  
  88. Appendix A, "GS/OS ProDOS 16 Calls"
  89.  
  90. Page 386:  GetDirEntry buffer description incorrect
  91.  
  92. On page 386, nameBuffer is described as a pointer to a buffer in which GS/OS 
  93. returns a Pascal string containing the name of the file or directory entry(in 
  94. GetDirEntry).  This is incorrect; all versions of GetDirEntry return GS/OS 
  95. (word-length) strings for the directory entry.
  96.  
  97.  
  98. Further Reference
  99. _____________________________________________________________________________
  100.   o  GS/OS Reference
  101.   o  Apple IIgs Technical Note #71, DA Tips and Techniques
  102.